package com.budwk.app.sqfw.services;


import com.budwk.app.sqfw.dto.RallyExcelDTO;
import com.budwk.app.sqfw.dto.SqfwRallyDTO;
import com.budwk.app.sqfw.dto.SqfwRallyUpdateDTO;
import com.budwk.app.sqfw.models.SqfwRallySign;
import com.budwk.app.sqfw.models.Sqfw_rally;
import com.budwk.app.sqfw.models.Sqfw_servicerecord;
import com.budwk.app.sqfw.vo.SqfwRallyVO;
import com.budwk.app.sqfwV2.dto.TemplateFileDTO;
import com.budwk.app.sqfwV2.dto.dto.dayingRoad.DownFileTypesResVo;
import com.budwk.app.sqfwV2.dto.vo.SummaryQueryReqVo;
import com.budwk.starter.common.page.Pagination;
import com.budwk.starter.database.service.BaseService;
import org.nutz.mvc.annotation.Param;

import java.util.List;


public interface SqfwRallyService  extends BaseService<Sqfw_rally> {



    Sqfw_rally createOne(Sqfw_rally sqfwRally);

    Sqfw_rally createOneJson(SqfwRallyUpdateDTO sqfwRally);

    Sqfw_rally getOne(SqfwRallyDTO sqfwRally);
    SqfwRallyUpdateDTO getOneJson(SqfwRallyDTO sqfwRally);
    boolean delRally(String id);
    boolean delRallyJson(String id);

    boolean delRallyJson(List<String>  ids);

    SqfwRallyUpdateDTO updateOne(SqfwRallyUpdateDTO sqfwRally);



    Sqfw_servicerecord finishService(Sqfw_rally sqfwRally);


    RallyExcelDTO generateRallyExcel(String rallyId);

    RallyExcelDTO generateRallyExcelV2(String rallyId);
    List<SqfwRallySign> getPeople(String rallyId);


    Pagination getListPage(Sqfw_rally sqfwRally);

    SqfwRallySign arriveMark(String id);

    void arriveMarkBatch(List<String> ids);
    void manyArriveMark(String rallyId);


    List<TemplateFileDTO> changeTemplate(List<String> ids);

    Pagination generateDetailFile(SummaryQueryReqVo reqVo);
    TemplateFileDTO generateByCode(int code,String startTime,String endTime, List<String> ids);
}
